package br.com.hs.nfe;

import br.com.hs.nfe.common.app.AppContext;
import br.com.hs.nfe.common.to.EmitenteTO;
import br.com.hs.nfe.common.enumeration.AppContextEnum;
import br.com.hs.nfe.common.to.ProxyTO;

/**
 * Classe responsável pelas configurações da biblioteca.
 * @author Ranlive Hrysyk
 */
public class AppUtil {

    /**
     * Registra um emitente como o emissor atual da NF-e.
     */
    public static void registrarEmitenteTO(EmitenteTO emitenteTO) {
        AppContext.getInstance().setTO(AppContextEnum.EMITENTE, emitenteTO);
    }

    /**
     * Obtém uma cópia do objeto emitente registrado.
     */
    public static EmitenteTO getEmitenteTO() {
        return AppContext.getInstance().getTO(AppContextEnum.EMITENTE, EmitenteTO.class);
    }

    /**
     * Registra um objeto com as configurações do proxy que serão utilizadas da conexão.
     */
    public static void registrartProxyTO(ProxyTO proxyTO) {
        AppContext.getInstance().setTO(AppContextEnum.PROXY, proxyTO);
    }

    /**
     * Obtém uma cópia do objteto Proxy registrado.
     */
    public static ProxyTO getProxyTO() {
        return AppContext.getInstance().getTO(AppContextEnum.PROXY, ProxyTO.class);
    }
}
